package com.skiving.cloud.workflow.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 *  实体类。
 *
 * @author skivingcloud
 * @since 2024-03-25
 */
@ApiModel("流程任务历史")
@Table(value = "act_hi_taskinst")
public class ActHiTaskinst implements Serializable {

    @Id@Column(value = "ID_")
    @ApiModelProperty("主键")
    private String id;

    @Column(value = "TASK_DEF_KEY_")
    @ApiModelProperty("阶段定义编码")
    private String taskDefKey;

    @Column(value = "PROC_DEF_KEY_")
    @ApiModelProperty("流程定义编码")
    private String procDefKey;

    @Column(value = "PROC_DEF_ID_")
    @ApiModelProperty("流程定义ID")
    private String procDefId;

    @Column(value = "ROOT_PROC_INST_ID_")
    @ApiModelProperty("流程实例ID")
    private String rootProcInstId;

    @Column(value = "PROC_INST_ID_")
    @ApiModelProperty("流程实例ID")
    private String procInstId;

    @Column(value = "EXECUTION_ID_")
    @ApiModelProperty("执行ID")
    private String executionId;

    @Column(value = "CASE_DEF_KEY_")
    @ApiModelProperty("CASE_DEF_KEY_")
    private String caseDefKey;

    @Column(value = "CASE_DEF_ID_")
    @ApiModelProperty("CASE_DEF_ID_")
    private String caseDefId;

    @Column(value = "CASE_INST_ID_")
    @ApiModelProperty("CASE_INST_ID_")
    private String caseInstId;

    @Column(value = "CASE_EXECUTION_ID_")
    @ApiModelProperty("CASE_EXECUTION_ID_")
    private String caseExecutionId;

    @Column(value = "ACT_INST_ID_")
    @ApiModelProperty("ACT_INST_ID_")
    private String actInstId;

    @Column(value = "NAME_")
    @ApiModelProperty("名称")
    private String name;

    @Column(value = "PARENT_TASK_ID_")
    @ApiModelProperty("父任务")
    private String parentTaskId;

    @Column(value = "DESCRIPTION_")
    @ApiModelProperty("DESCRIPTION_")
    private String description;

    @Column(value = "OWNER_")
    @ApiModelProperty("任务拥有者")
    private String owner;

    @Column(value = "ASSIGNEE_")
    @ApiModelProperty("任务处理人")
    private String assignee;

    @Column(value = "START_TIME_")
    @ApiModelProperty("开始时间")
    private LocalDateTime startTime;

    @Column(value = "END_TIME_")
    @ApiModelProperty("结束时间")
    private LocalDateTime endTime;

    @Column(value = "DURATION_")
    @ApiModelProperty("停留时间")
    private Long duration;

    @Column(value = "DELETE_REASON_")
    @ApiModelProperty("删除原因")
    private String deleteReason;

    @Column(value = "PRIORITY_")
    @ApiModelProperty("PRIORITY_")
    private Integer priority;

    @Column(value = "DUE_DATE_")
    @ApiModelProperty("处理时间")
    private LocalDateTime dueDate;

    @Column(value = "FOLLOW_UP_DATE_")
    @ApiModelProperty("FOLLOW_UP_DATE_")
    private LocalDateTime followUpDate;

    @Column(value = "TENANT_ID_")
    @ApiModelProperty("租户")
    private String tenantId;

    @Column(value = "REMOVAL_TIME_")
    @ApiModelProperty("REMOVAL_TIME_")
    private LocalDateTime removalTime;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTaskDefKey() {
        return taskDefKey;
    }

    public void setTaskDefKey(String taskDefKey) {
        this.taskDefKey = taskDefKey;
    }

    public String getProcDefKey() {
        return procDefKey;
    }

    public void setProcDefKey(String procDefKey) {
        this.procDefKey = procDefKey;
    }

    public String getProcDefId() {
        return procDefId;
    }

    public void setProcDefId(String procDefId) {
        this.procDefId = procDefId;
    }

    public String getRootProcInstId() {
        return rootProcInstId;
    }

    public void setRootProcInstId(String rootProcInstId) {
        this.rootProcInstId = rootProcInstId;
    }

    public String getProcInstId() {
        return procInstId;
    }

    public void setProcInstId(String procInstId) {
        this.procInstId = procInstId;
    }

    public String getExecutionId() {
        return executionId;
    }

    public void setExecutionId(String executionId) {
        this.executionId = executionId;
    }

    public String getCaseDefKey() {
        return caseDefKey;
    }

    public void setCaseDefKey(String caseDefKey) {
        this.caseDefKey = caseDefKey;
    }

    public String getCaseDefId() {
        return caseDefId;
    }

    public void setCaseDefId(String caseDefId) {
        this.caseDefId = caseDefId;
    }

    public String getCaseInstId() {
        return caseInstId;
    }

    public void setCaseInstId(String caseInstId) {
        this.caseInstId = caseInstId;
    }

    public String getCaseExecutionId() {
        return caseExecutionId;
    }

    public void setCaseExecutionId(String caseExecutionId) {
        this.caseExecutionId = caseExecutionId;
    }

    public String getActInstId() {
        return actInstId;
    }

    public void setActInstId(String actInstId) {
        this.actInstId = actInstId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getParentTaskId() {
        return parentTaskId;
    }

    public void setParentTaskId(String parentTaskId) {
        this.parentTaskId = parentTaskId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getOwner() {
        return owner;
    }

    public void setOwner(String owner) {
        this.owner = owner;
    }

    public String getAssignee() {
        return assignee;
    }

    public void setAssignee(String assignee) {
        this.assignee = assignee;
    }

    public LocalDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalDateTime startTime) {
        this.startTime = startTime;
    }

    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    public Long getDuration() {
        return duration;
    }

    public void setDuration(Long duration) {
        this.duration = duration;
    }

    public String getDeleteReason() {
        return deleteReason;
    }

    public void setDeleteReason(String deleteReason) {
        this.deleteReason = deleteReason;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public LocalDateTime getDueDate() {
        return dueDate;
    }

    public void setDueDate(LocalDateTime dueDate) {
        this.dueDate = dueDate;
    }

    public LocalDateTime getFollowUpDate() {
        return followUpDate;
    }

    public void setFollowUpDate(LocalDateTime followUpDate) {
        this.followUpDate = followUpDate;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public LocalDateTime getRemovalTime() {
        return removalTime;
    }

    public void setRemovalTime(LocalDateTime removalTime) {
        this.removalTime = removalTime;
    }

}
